As the complexity of man-made systems increases, the complexity of the tasks involved in maintaining such systems also increases. The maintenance tasks include, by way of example only, fault diagnosis, fault location, performance monitoring, performance optimization and repair. These tasks are typically performed by an expert technician, by analytical diagnostic tools or by a combination thereof.
Many diagnostic tools are known for use in maintenance tasks, however, they are all limited in one or more respects. Early diagnostic tools utilized snapshot monitoring wherein an instantaneous picture of the system under test is developed. Another test concept used in early diagnostic tools was stimulus-response testing wherein test equipment is used to develop appropriate stimulus waveforms and the response of the system test is analyzed. In fact, many system in use today are still maintained and tested by diagnostic tools using these techniques.
Diagnostic tools using steady state and stimulus-response testing techniques, however, are unable to use the full spectrum of information available about the system under test. In particular, these tools make no use of knowledge concerning the design or the prior maintenance history of the system under test. These systems, therefore, do not provide reliable fault diagnosis of systems. Furthermore, such systems have severely limited ability to reason about results obtained during testing or monitoring.
As a result of the limited reasoning ability, expert systems have been incorporated into various diagnostic tools. In a common form, the expert system uses a surface knowledge representation of the system under test to analyze and reason about potential faults in the system. Surface knowledge representations typically associate a set of symptoms with a set of faults which association is frequently presented in the form of a fault tree. Surface knowledge representations also frequently take the form of a set of rules of the If-Then form. Data or information for the surface knowledge representation is usually obtained from the expert technician or the system designer.
These systems have had limited successes in simple systems where maintenance experts have accumulated enough experience in maintaining the system to provide accurate rules for most of the possible system faults. In cases where the system under test is somewhat complex, however, it is often very difficult to embody the expert's experience in a set of rules to drive the expert system, even where the expert has had sufficient experience with the complex system. See, for example, "The Thinking Machine--An Electronic Clone of a Skilled Engineer is Very Hard To Create", in the Aug. 12, 1988 issue of the Wall Street Journal on page 1, wherein the efforts of the Southern California Edison Co. to develop an expert system to diagnose faults in one of their dams is described. The expert system was to be based on a set of rules which embodied the knowledge of a civil engineer having two decades of related experience. After a significant investment in time and money and after narrowing the scope of the project, limited diagnostic success was achieved, however, the diagnostic tool was not put into regular use.
Expert systems based on surface knowledge representations, therefore, require an exhaustive set of a priori rules which accurately encompass the spectrum of the possible faults of the system under test to be effective. Furthermore, such expert systems perform poorly when fault conditions occur which are beyond the surface knowledge heuristic rule base since there is no knowledge base upon which further reasoning can occur. Expert systems based on surface knowledge representations, therefore, offer limited reasoning capabilities.
Expert systems have also incorporated deep knowledge representations of systems under test, wherein the functional and structural qualities of a system's components are qualitatively modeled to show connectivity and behavioral relationships. This approach enables a diagnostic tool to deal with imprecise behavioral and structural characteristics of a system, such as dynamic changes in connectivity, which can not be addressed in other approaches, thereby offering potential for greater flexibility in reasoning. Such qualitative models can represent the operation of a system without exhaustive a priori enumeration of all possible failure models, as required in surface knowledge approaches.
Diagnostic tools based on such qualitative models can, however, easily become computationally unwieldy since the number of computations required to use the qualitative model is proportional to the connectivity of the system under test. The connectivity of a system increases as a combinatorial function of the number of components in the system, so that models which represent complex systems having many functions and components become computationally untractable.
Various combinations of the previously discussed diagnostic tools have been suggested. In Report No. SETR-86-001 of the Software Engineering Technical Report Series prepared by the Allied-Signal Aerospace Company, a two layer expert system using a surface knowledge representation embodying heuristic rules developed by system maintenance experts and a deep knowledge representation embodying component behavior and system connectivity is suggested. It is also suggested to use reliability statistics as an adjunct to the expert system. The suggested two layer expert system would first diagnose a system based on the heuristic rules of the surface knowledge representation. The deep knowledge representation is referenced only when a failure mode which is outside the failures embodied in the rule base is encountered. The suggested two layer expert system, therefore, does not provide an integrated diagnostic tool. Rather, in most cases such a system is dependent on a heuristic surface knowledge representation and the required exhaustive enumeration of a priori rules, which can be difficult to develop. Causal reasoning with a deep knowledge representation would be referenced only when heuristic reasoning with a surface knowledge representation fails. The results obtained with such a diagnostic tool would only be marginally improved since the knowledge representations are not truly integrated. Furthermore, the suggested diagnostic tool fails to solve the problem of the computationally untractable qualitative models in the deep knowledge representation when such models are referred to.
A diagnostic system that combines a surface knowledge expert system with a deep knowledge expert system was also suggested in "The Integrated Diagnostic Model-Towards a Second Generation Diagnostic Expert System", published in July 1986 in the Proceedings of the Air Force Workshop on Artificially Intelligence Applications for Integrated Diagnostics at pages 188 to 197. This diagnostic tool separates the two knowledge representations until a decision is to be made. At the time of decision, an executor process arbitrates between the two expert systems to make a decision. This tool, therefore, fails to integrate the two types of knowledge and has problems similar to the suggested two layer expert system discussed above.
A diagnostic tool which provides an integrated knowledge representation of a system, combining a variety of knowledge representations of a system as well as other system information is needed. Such a diagnostic tool should provide flexible decisions similar to those provided by expert systems utilizing deep knowledge representations, but should also provide quick and efficient decisions as well as improved diagnostic decisions.
As previously mentioned, another aspect of maintaining a system is monitoring and optimizing its performance. In system performance monitoring, the goal is to detect any abnormality in performance and affect the appropriate action. The abnormality is typically reflected in the signals produced by the operation of the system which are collected by the monitoring system.
The importance of performance monitoring is indicated in the design of systems, many of which incorporate "onboard" monitoring capabilities, allowing a system to monitor its own activities. The onboard monitoring systems typically respond to suspected abnormalities by either issuing a warning, shutting the system down, or causing predetermined data to be recorded in a nonvolatile memory or other recording devices.
The effectiveness of monitoring systems, whether on board or not, in achieving their goal of detecting abnormalities and responding appropriately, is dependent upon the speed at which the evaluation of the collected system performance data can be made, the quality of the evaluation made, the specificity of the abnormality identified, and the quality and quantity of the collected performance data stored for future diagnostic of analytical use. Presently, the effectiveness of monitoring systems and the immediate usefulness of the performance data collected from the system is limited in the above-mentioned areas. Monitoring systems are further limited by the computing power distributed at the system level and by the limited diagnostic analysis performed on the performance data during system use.
As a result, monitoring systems and methods that evaluate collected performance data quicker and more completely, control data acquisition for so as to improve the quality and quantity of data stored for later diagnostic use and have improved diagnostic and analytic capabilities, are needed.